# 学习目标
学完这篇教程,你将学会:
- 如果编写 Koa 中间件
- 通过 @koa/router 实现路由配置
- 通过 TypeORM 连接和读写 MySQL 数据库(其他数据库都类似)
- 了解 JWT 鉴权的原理,并动手实现
- 掌握 Koa 的错误处理机制
# 准备初始代码
我们已经为你准备好了项目的脚手架,运行以下命令克隆我们的初始代码:
git clone https://github.com/poetries/koa-quickstart.git
@前端进阶之旅: 代码已经复制到剪贴板
如果你访问 GitHub 不流畅,可以克隆我们的 Gitee 仓库:
git clone https://github.com/poetries/koa-quickstart.git
@前端进阶之旅: 代码已经复制到剪贴板
然后进入项目,安装依赖:
cd koa-quickstart && npm install
@前端进阶之旅: 代码已经复制到剪贴板
这里我使用了 package-lock.json 确保所有依赖版本一致,如果你用 yarn 安装依赖出现问题,建议删除 node_modules ,重新用 npm install 安装。
# 最简单的 Koa 服务器
创建
src/server.ts,编写第一个 Koa 服务器,代码如下:
// src/server.ts
import Koa from 'koa';
import cors from '@koa/cors';
import bodyParser from 'koa-bodyparser';
// 初始化 Koa 应用实例
const app = new Koa();
// 注册中间件
app.use(cors());
app.use(bodyParser());
// 响应用户请求
app.use((ctx) => {
ctx.body = 'Hello Koa';
});
// 运行服务器
app.listen(3000);
@前端进阶之旅: 代码已经复制到剪贴板
整个流程与一个基本的 Express 服务器几乎完全一致:
- 初始化应用实例 app
- 注册相关的中间件(跨域 cors 和请求体解析中间件 bodyParser)
- 添加请求处理函数,响应用户请求
- 运行服务器
- 定睛一看,第 3 步中的请求处理函数(Request Handler)好像不太一样。在 Express 框架中,一
